1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatus, and products for stateful business application processing in an otherwise stateless service-oriented architecture (‘SOA’).
2. Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
The execution of complex and computationally intense stateful processes in a service-oriented architecture is currently difficult due to many factors including, for example, process execution management delivered in a single, tightly-coupled stateful description of the process, tight relationships between the processing code and the data whose structure, relationships, and processing rules implicitly or explicitly are contained in both the processing code and the data, and the need to store intermediate states of the data in databases as the data is passed among a number of process steps, each of which may be very complex. These factors result in a very complex computing environment in which input data into such a process executed in the computing environment, the stateful data that is produced at each step in the process, the output data of the process, the logical flow of the process and each step, and the processing code is intertwined such that a reversal of the process, resuming the processes in mid-execution, or understanding of the state of the process at any particular steps in the process is difficult, if not impossible. Additionally, a process executed in such an environment and the environment itself is very expensive to design, build, maintain, and or replace once fully implemented.